#!/usr/bin/env node

/**
 * Request模式流程诊断测试
 * 逐步分析预约流程，找出被拦截的原因
 */

import { spawn } from 'node:child_process'
import { dirname, join } from 'node:path'
import { fileURLToPath } from 'node:url'

const __filename = fileURLToPath(import.meta.url)
const __dirname = dirname(__filename)
const projectRoot = join(__dirname, '..')

// 测试文件路径
const testFile = join(projectRoot, 'scripts', 'test-request-flow.ts')

console.log('Request模式诊断测试')
console.log('='.repeat(60))
console.log(`时间: ${new Date().toISOString()}`)
console.log('='.repeat(60))
console.log()

// 使用 tsx 运行 TypeScript 文件
const command = 'npx'
const commandArgs = [
  'tsx',
  '--tsconfig',
  join(projectRoot, 'tsconfig.node.json'),
  testFile,
]

const proc = spawn(command, commandArgs, {
  cwd: projectRoot,
  stdio: 'inherit',
  shell: true,
})

proc.on('close', (code) => {
  process.exit(code || 0)
})

proc.on('error', (error) => {
  console.error('执行测试失败:', error)
  console.error('\n提示: 请确保已安装必要的依赖:')
  console.error('  npm install -D tsx tsconfig-paths')
  console.error('  或')
  console.error('  pnpm add -D tsx tsconfig-paths')
  process.exit(1)
})
